package com.itheima.d2_udp.no1;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

//目标：掌握使用UDP通信实现发送消息
public class SendDemo01 {
    public static void main(String[] args) throws Exception {
        /**
         * 数据包对象：
         *      DatagramPacket(byte[] buf, int length, InetAddress address, int port)
         *
         * Socket通道：
         *      DatagramSocket()：创建发送端的Socket对象，系统会随机分配一个端口号
         *
         * 常用方法：
         *      send(DatagramPacket dp)：发送数据包
         */
        //1.创建发送数据的对象：DatagramSocket对象
        DatagramSocket socket = new DatagramSocket();

        //2.创建DatagramPacket对象，用来打包数据，提供：字节数据、数据的大小、对方的ip、对方的端口
        byte[] bys = "你好，我是客户端".getBytes();

        DatagramPacket packet = new DatagramPacket(
                //要发送的字节数据
                bys,
                //发送数据的大小
                bys.length,
                //对方（服务端）的ip
                InetAddress.getByName("localhost"),
                //对方（服务端）的端口
                10001);

        //3.发送数据
        socket.send(packet);

        //4.释放资源
        socket.close();
    }
}
